/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;
import java.util.List;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceException;
import model.excecoes.ErroDAOException;
import model.excecoes.ErroNegocioException;
import model.funcionario.Funcionario;
import model.interfaces.IControllerFuncionario;
import model.fachada.Fachada;
/**
 *
 * @author Marcos
 */
public class ControllerFuncionario implements IControllerFuncionario{

    private Fachada fachada = null;
    
    public ControllerFuncionario(){
        fachada = Fachada.getInstanciaSingleton();
    }
    
    @Override
    public void cadastrarFuncionario(Funcionario funcionario) throws ErroDAOException, PersistenceException, NoResultException, ErroNegocioException {
        fachada.cadastrarFuncionario(funcionario);
    }

    @Override
    public void alterarFuncionario(Funcionario funcionario) throws ErroDAOException, PersistenceException, NoResultException, ErroNegocioException {
        fachada.alterarFuncionario(funcionario);
    }

    @Override
    public void excluirFuncionario(Funcionario funcionario) throws ErroDAOException, PersistenceException, NoResultException, ErroNegocioException {
        fachada.excluirFuncionario(funcionario);
    }

    @Override
    public List<Funcionario> listarFuncionario(String consulta, String campo) throws ErroDAOException, PersistenceException, NoResultException, ErroNegocioException {
        return fachada.listarFuncionario(consulta, campo);
    }

    @Override
    public Funcionario logarFuncionario(String login, String senha) throws ErroDAOException, PersistenceException, NoResultException, ErroNegocioException {
        return fachada.logarFuncionario(login, senha);
    }
    
}
